To reliably perform urgent stop at the time of occurrence of an emergency, a permanent magnet synchronous motor (hereinafter, referred to as a “motor”) is often employed in a feed axis of an NC machine tool by virtue of the characteristic feature of the motor capable of producing a great braking force merely by establishing a short circuit in windings during rotation. Meanwhile, a PWM inverter is typically used as a power converter in a controller for controlling the velocity and a rotation angle (position) of the motor.
Conventionally, in controllers for controlling the velocity and the rotation angle (position) of permanent magnet synchronous motors by means of PWM inverters, voltages of the motors have been suppressed by supplying a d axis current in accordance with voltage constraints resulting from the velocity of the motors and from DC bus voltages of the inverters. However, a q axis current has been controlled using a q axis current limit value which is based on N−τ (velocity-torque) characteristics of the motors, and has not been controlled in consideration of the voltage constraints.
FIG. 11 is a block diagram showing an example configuration of a velocity controller 200 illustrated as an example of a controller for a three-phase permanent magnet synchronous motor in related art. The velocity controller 200 according to this example will be described below. Firstly, a PWM inverter, to which an AC voltage of a three-phase AC power source 100 is input, rectifies the AC voltage in a converter section 101, smooths the rectified AC voltage in a large capacitor 102, and converts the rectified AC voltage into a DC voltage. The converted DC voltage, which is referred to as a DC bus voltage Vdc, varies depending on an amplitude of the AC voltage of the three-phase AC power source 100.
An inverter section 103 is composed of power semiconductors which establish a bridge between DC buses for each of U, V, and W phases, and is configured to control a three-phase permanent magnet synchronous motor 104 with a desired time variant voltage which is obtained by adjusting ON time periods of an upper semiconductor and a lower semiconductor in the bridge. A position detector 105 detects a rotation angle of the motor, and current detectors 106u and 106w detect a U-phase current and a W-phase current, respectively.
A velocity command value ωm* is output from a host device (not illustrated) to the velocity controller 200 of this example. A motor rotation angle θm output from the position detector 105 is time-differentiated in a differentiator 51, and a resulting time differential value is output as a motor velocity ωm. It should be noted that a reference letter s in the differentiator 51 denotes a differential operator in a Laplace transform operation. The motor velocity ωm is subtracted from the velocity command value ωm* in a subtracter 50 to obtain a velocity deviation value. The velocity deviation value output from the subtracter 50 is amplified through a proportional integration operation in a velocity control unit 52, and then output as a motor torque command value τc*.
In the configuration, a subsequent control block is represented with a two-phase (d axis, q axis) coordinate system which has been well known. A torque-current convertor 53 is a converter for converting the torque command value τc* into a q axis (torque) current, and a reference symbol Ke in the torque-current convertor 53 represents a motor torque constant. Accordingly, the torque current converter 53 functions as a q axis current calculating section which determines a q axis current value based on the torque command value τc*.
A current vector computing section 80 computes and outputs a q axis current command value iq* and a d axis current command value id*. In a q axis current limiter 81, an output from the torque current converter 53 is further processed in consideration of the N−τ (velocity-torque) characteristic of the motor by performing limit processing on a q axis current command so as to limit a torque command depending on the motor velocity ωm during high-velocity operation. It should be noted that a q axis current limit Iq_lim is in negative correlation with the motor velocity ωm. An output from the q axis current limiter 81 is the q axis current command value iq*.
On the other hand, a d axis current is controlled by a command along a direction of reducing an induced voltage of the motor in order to avoid occurrence of voltage saturation during high velocity rotation. A DC bus voltage detecting section 54 detects in real time a DC bus voltage Vdc, and outputs a detected DC bus voltage change value Δdc which is a difference between the detected DC bus voltage Vdc and a predetermined reference voltage. A d axis current command generating section 82 computes a voltage allowance in control of rotation of the motor based on the induced voltage generated by permanent magnets and the detected DC bus voltage change value Δdc at the motor velocity ωm, and outputs a d axis current command value id* based on the voltage allowance.
A U phase current iu and a W phase current iw supplied to the motor are detected in the current detectors 106u and 106w. It should be noted that a V phase current iv can be calculated by an equation of iv=−(iu+iw). An electrical rotation angle θre of the motor is computed in a converter 55 by multiplying a mechanical rotation angle θm of the motor by the number of pole pairs p. A three phase→dq converting section 57 computes a d axis current detection value id and a q axis current detection value iq from the electrical rotation angle θre of the motor, the U phase current iu, and the W phase current iw by means of coordinate conversion, and outputs the computed values id and iq.
A subtracter 58 subtracts the d axis current detection value id from the d axis current command value id*, and a subtracter 59 subtracts the q axis current detection value iq from the q axis current command value iq*. Subtracted results output from the subtracters 58 and 59 are a d axis current error and a q axis current error which are supplied as inputs to a current controlling unit 60. The current controlling unit 60 includes an error amplifier which amplifies each of the current errors of the axes through a proportional integral operation to perform matching of the current command value and the current detection value for each of the axes, and also includes a compensation controlling unit which decouples currents of the axes, to thereby obtain a d axis voltage command value vd* and a q axis voltage command value vq* which are output from the current controlling unit 60. It should be noted that an electrical angular velocity wre is supplied as a signal obtained by differentiating the electrical rotation angle θre of the motor with respect to time in a differentiator 56, and is used for decoupling control in the current controlling unit 60.
A dq→three phase converting section 61 receives, as inputs, the electrical rotation angle θre of the motor, the d axis voltage command value vd*, and the q axis voltage command value vq*, and outputs a U phase voltage command value vu*, a V phase voltage command value vv*, and a W phase voltage command value vw*. A PWM signal computing section 62 controls the ratio between ON time periods of the upper semiconductor and the lower semiconductor of the bridge in the inverter section 103 in order to output voltages in accordance with magnitude of the phase voltage command values as motor phase voltages. ON/OFF commands supplied to the semiconductors are referred to as PWM signals (a total of six PWM signals are supplied).
As explained above, the controller in the related art computes the voltage allowance in response to a change in the DC bus voltage, and determines the d axis current command value id* in accordance with the voltage allowance. However, in the controller, only a limit is applied to the q axis current command value iq* in consideration of the N−τ (velocity-torque) characteristic of the motor, but no real-time voltage constraint is taken into consideration to determine the q axis current command value iq*. For this reason, there has been a case where a torque in accordance with a command cannot be generated due to the voltage constraint in a power running state at high velocity, or on the contrary, a case where a maximum torque which can be produced in principle by a motor cannot be obtained from the motor due to the presence of an excessive limitation.
In consideration of such circumstances, the present disclosure discloses a motor controller capable of maximizing an output torque of the motor during high-velocity rotation with an increased degree of efficiency.